package com.fufan.mtsaas.modules.unsafeevent.baqsjrecordmain.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.io.Serializable;

/**
 * 不良事件主记录
 *
 * @author Liby
 * @date 2025-02-18
 */
@Data
@ApiModel(description = "不良事件主记录")
@TableName("baqsj_record_main")
public class BaqsjRecordMain implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("id")
    @ApiModelProperty(value = "事件记录ID")
    private Long id;

    @ApiModelProperty(value = "事件记录编号：AccidentChokingFood-意外事件-噎食事件,\n" +
            "AccidentFall-意外事件-跌倒、坠床事件,\n" +
            "AccidentHurt-意外事件-自杀，自伤事件,\n" +
            "AccidentOther-意外事件-其他意外事件,\n" +
            "AccidentOut-意外事件-出走事件,\n" +
            "AccidentSelfKill-意外事件-自杀，自伤事件,\n" +
            "DiagnosisDietWrong-诊疗相关-饮食差错事件,\n" +
            "DiagnosisInfusionReaction-诊疗相关-输液反应事件,\n" +
            "DiagnosisMedicalHandle-诊疗相关-医疗处置事件,\n" +
            "DiagnosisOtherReaction-诊疗相关-其他反应事件,\n" +
            "DiagnosisSampleWrong-诊疗相关-报告异常，标本差错事件,\n" +
            "DoctorAndPatientNegotiation-医患沟通相关-医患沟通 (纠纷) 事件,\n" +
            "HospitalInfected-院感相关-院内感染事件,\n" +
            "MedicalBadReaction-药物相关-药物不良反应事件,\n" +
            "MedicalWrongDrug-药物相关-给药错误事件,\n" +
            "MedicalInstrument-医疗器械相关-医疗器械事件,\n" +
            "OtherReactionGeneral-其他不良事件上报-其他事件,\n" +
            "OtherReactionPublic-其他不良事件上报-公共事件,\n" +
            "OtherReactionPublicSecurity-其他不良事件上报-公共治安事件,\n" +
            "PreventionAndProtection-防保相关-职业暴露不良事件,\n" +
            "SurgicalBad-手术相关-手术不良事件,\n" +
            "SurgicalNonPlaned-手术相关-非计划手术不良事件,\n" +
            "SurgicalOperationBad-手术相关-操作不良事件,\n" +
            "TransfusionBloodReaction-输血相关-输血反应事件,\n" +
            "TransfusionWrongBlood-输血相关-用血错误事件")
    private String eventNo;
    @ApiModelProperty(value = "事件名称")
    private String eventName;
    @ApiModelProperty(value = "医疗机构代码")
    private String medicalBranchCode;
    @ApiModelProperty(value = "科室名称")
    private String departmentName;
    @ApiModelProperty(value = "科室代码")
    private String departmentCode;
    @ApiModelProperty(value = "事件分类")
    private String eventClass;
    @ApiModelProperty(value = "事件级别")
    private String eventLevel;
    @ApiModelProperty(value = "事件评分")
    private String eventEvaluate;
    @ApiModelProperty(value = "发生院区")
    private String eventDivision;
    @ApiModelProperty(value = "发生时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date eventTime;
    @ApiModelProperty(value = "发生地点")
    private String eventLocale;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @ApiModelProperty(value = "创建人")
    private String createBy;
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    @ApiModelProperty(value = "流转状态")
    private Integer status;
    @ApiModelProperty(value = "审核状态,结果： 1草稿 2处理中 3已完结 4已驳回")
    private Integer auditStatus;
    @ApiModelProperty(value = "渠道：0-PC，1-H5")
    private Integer channel;
    @ApiModelProperty(value = "事件描述")
    private String eventDescription;
    @ApiModelProperty(value = "造成影响")
    private String eventAffect;
    @ApiModelProperty(value = "发生原因")
    private String eventReason;
    @ApiModelProperty(value = "处理措施")
    private String eventMeasurement;
    @ApiModelProperty(value = "公司ID")
    private Long companyId;
    @ApiModelProperty(value = "启用状态 0：正常 1：禁用", hidden = true)
    private Integer isEnabled;
    @ApiModelProperty(value = "删除状态 0：否 1：是", hidden = true)
    private Integer delFlag;
}
